// pages/share/myshare/index.js

const app = getApp()
const db = wx.cloud.database()
const _ = db.command


Page({

    /**
     * 页面的初始数据
     */
    data: {
        anmdata:[],
        startX: 0, //开始坐标
        startY: 0
    },

    toAdd(){
        wx.navigateTo({
          url: '../add/index',
        })
    },

    toback() {
        wx.switchTab({
          url: '../../mine/index/index',
        })
    },

    getData(){
        let that = this
        wx.cloud.database().collection('share').where({_openid:app.globalData.openId}).orderBy("createTime","desc").get({
            success: res =>{
                that.setData({
                    anmdata: res.data
                })
            }
        })
    },

    /*
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getData()
    },
//手指触摸动作开始 记录起点X坐标
touchstart: function (e) {
    //开始触摸时 重置所有删除
    this.data.anmdata.forEach(function (v, i) {
      if (v.isTouchMove)//只操作为true的
        v.isTouchMove = false;
    })
    this.setData({
      startX: e.changedTouches[0].clientX,
      startY: e.changedTouches[0].clientY,
      anmdata: this.data.anmdata
    })
  },
  //滑动事件处理
  touchmove: function (e) {
    var that = this,
      index = e.currentTarget.dataset.index,//当前索引
      startX = that.data.startX,//开始X坐标
      startY = that.data.startY,//开始Y坐标
      touchMoveX = e.changedTouches[0].clientX,//滑动变化坐标
      touchMoveY = e.changedTouches[0].clientY,//滑动变化坐标
      //获取滑动角度
      angle = that.angle({ X: startX, Y: startY }, { X: touchMoveX, Y: touchMoveY });
    that.data.anmdata.forEach(function (v, i) {
      v.isTouchMove = false
      //滑动超过30度角 return
      if (Math.abs(angle) > 30) return;
      if (i == index) {
        if (touchMoveX > startX) //右滑
          v.isTouchMove = false
        else //左滑
          v.isTouchMove = true
      }
    })
    //更新数据
    that.setData({
        anmdata: that.data.anmdata
    })
  },
  /**
   * 计算滑动角度
   * @param {Object} start 起点坐标
   * @param {Object} end 终点坐标
   */
  angle: function (start, end) {
    var dX = end.X - start.X,
      dY = end.Y - start.Y
    //返回角度 /Math.atan()返回数字的反正切值
    return 360 * Math.atan(dY / dX) / (2 * Math.PI);
  },
  //删除事件
  del: function (e) {
    let that = this;
    let id = e.currentTarget.dataset.id;
    console.log("点击了删除按钮", id)
    wx.showModal({
      title: '警告！',
      content: '您确定要删除吗？',
      success(res) {
        if (res.confirm) {
          console.log("点击了确定按钮")
          wx.cloud.database()
            .collection('share') //操作那个表
            .doc(id) //对那条数据进行操作
            .remove({ //执行删除操作
              success(res) {
                console.log("删除成功", res)
                that.data.anmdata.splice(e.currentTarget.dataset.index, 1)
                that.setData({
                    anmdata: that.data.anmdata
                })
              }
            })
        } else {
          console.log("点击了取消按钮")
        }
      }
    })
  }

})